Datomicの始め方


概要

おもしろデータベース Datomic 事始め

http://www.datomic.com


インフラストラクチャーを見ているだけでもかなり驚きと思いっきりにあふれたDatomic。

http://docs.datomic.com/architecture.html


公式サイトには「動かしながら学べる」感じのリファレンスがあるので、

http://docs.datomic.com/getting-started.html


はじめにこれをやってみよう的な。



DL

DatomicにはFree版とPro版があり、Free版は下記からDLできる。

http://downloads.datomic.com/free.html



in-memory dbを動かす

shell起動

bin/shell



in-memory dbのドメインを切る

uri = "datomic:mem://hello";



dbを作る

Peer.createDatabase(uri);



Peerっていうのは、インターフェースみたいなもの。

connectionを作成

conn = Peer.connect(uri);

<datomic.peer.LocalConnection@473fae05>

データを作成、次に追加を行う。

datom = Util.list("db/add", 

                  Peer.tempid("db.part/user"), 

                  "db/doc",

                  "hello world");


データを追加

response = conn.transact(Util.list(datom));



データベースを取得

db = conn.db();



クエリを打ってみる → cb/docプロパティの値が"hello world"なentity を取得する

Peer.q("[:find ?entity :where [?entity :db/doc \"hello world\"]]", db);

<[[17592186045417]]>


値が返ってきた。



続く